Vor dem Siegeszug graphischer Benutzeroberflächen (engl. graphical user interfaces oder GUI) bestand die Entwicklung eines Programms aus zwei Haupttätigkeiten:
Ordne vordefinierte Befehle und Unterprogrammaufrufe in einem Hauptprogramm an.
Unterbreche an geeigneten Stellen und fordere den Benutzer zu einer Eingabe auf.
Der Entwickler hatte zwar die volle Kontrolle über den Programmablauf, war aber gezwungen die meisten Interaktionselemente selbst zu implementieren. Der Interaktionsablauf blieb deshalb einfach, und die Interaktionsmöglichkeiten blieben beschränkt.
Der heutige Entwickler findet eine Vielfalt systemdefinierter Ereignisse vor. Seine Aufgabe beschränkt sich im wesentlichen auf die Programmierung von Antworten auf diese Ereignisse. TESTVERWALTUNG enthält im Codemodul des Formulars FrmAllgemeines zum Beispiel die folgenden Ereignisse und Antworten (Ereignisprozeduren oder engl. event handlers):
| Objekt | Ereignis | Ereignisprozedur |
| BtnTestauswahl | Click | BtnTestauswahl_Click |
| LstOLE | MouseDown | LstOLE_MouseDown |
Die Ereignisprozedur BtnTestauswahl_Click antwortet auf das Ereignis Click des Objekts BtnTestauswahl (Button mit der Beschriftung Testauswahl). BtnTestauswahl_Click ist eine private VBA-Subroutine, welche das Formular FrmTestauswahl öffnet und in voller Grösse anzeigt:
Private Sub BtnTestauswahl_Click() DoCmd.OpenForm "FrmTestauswahl" DoCmd.Maximize End Sub
Der fett geschriebene Code - das Ereignisprozedur-Skelett - wird von MS Access automatisch generiert, wenn die Entwicklerin in der Eigenschaftenliste von BtnTestauswahl das Ereignis "Beim Klicken" wählt:
Die Ereignisprozedur LstOLE_MouseDown beantwortet das Ereignis MouseDown auf dem Objekt LstOLE (Listenelement mit der Überschrift OLE). LstOLE_MouseDown ist eine private VBA-Subroutine, die reagiert, sobald die Benutzerin die Maus drückt, um einen der Listeneinträge zu wählen:
Private Sub LstOLE_MouseDown(...) priv_letzteOLEWahl = Me![LstOLE] 'priv_.. ist eine für das ganze Modul gültige Variable End Sub
Die Ereignisprozedur LstOLE_MouseDown merkt sich lediglich den zuletzt gewählten Listenwert, indem sie den Wert von LstOLE der globalen Variable priv_letzteOLEWahl zuweist.
Weil der Softwareentwickler heute mit eigenen Unterprogrammen auf meist vordefinierte Ereignisse antwortet, nennt man diese Art der Programmierung ereignisorientiert (engl. event-driven). Die Eigenschaftenliste eines Objekts enthält unter dem Register Ereignisse alle Ereignisse, die für das Objekt vordefiniert sind. Oft ist die Zahl der angebotenen Ereignisse gross und es ist nicht klar, welches Ereignis welche Aufgabe erfüllt. Hilfe erhalten Sie, wenn Sie den Cursor auf das interessierende Ereignis setzen und »F1 drücken.